重构
重构是对软件内部结构的改善,目的是在不改变可见行为的前提下,使其更易理解,修改成本更低。
重构的目的(Why)
- 防止代码腐化到无可救药的地步。
- 避免过度设计的有效手段,因为项目的初期不可能遇见未来100%的需求,需要不断的持续迭代重构来完善它,所以我们可以借助重构来避免过度设计。
- 重构能够帮助我们应用比较经典的设计思想、设计原则以及编程规范。
重构的对象(What)
- 大型重构(系统、模块、代码结构等)
手段: 分层、模块化、解耦、抽象可复用组件
风险: 引入bug的风险较大
- 小型重构(类、函数、变量等代码细节)
手段:提取重复代码、规范命名、消除超大类。
风险:引入bug的风险小
重构的时机(When)
可持续重构:持续重构应该成为一种开发习惯,形成一种可持续、可演进的方式。
重构的方法(How)
- 大型重构
分阶段进行,小步重构,保证仓库内的代码始终是处于可运行、逻辑正确的状态。
- 小型重构:
只要有时间随时都可以做。
对于重构的事情,项目leader要担起责任来,始终要保持项目中的代码处于良好的状态,避免形成“破窗效应”